Ext.define('Ssimgres.controller.ConfiguracionGeneral', {
	extend : 'Ext.app.Controller',
	views : ['configuracionGeneral.ConfiguracionGeneralView', 'configuracionGeneral.NuevaConfiguracionGeneralView', 'configuracionGeneral.VerConfiguracionGeneralView'],
	stores : ['ConfiguracionesGenerales'],
	refs : [{
		ref : 'nuevaConfiguracionGeneralView',
		selector : 'nuevaConfiguracionGeneralView'
	}, {
		ref : 'verConfiguracionGeneralView',
		selector : 'verConfiguracionGeneralView'
	}, {
		ref : 'configuracionGeneralView',
		selector : 'configuracionGeneralView'
	}],
	init : function() {
		this.control({
			'configuracionGeneralView' : {
				itemclick : this.seleccionarItem
			},
			'configuracionGeneralView button[action=btnVerConfiguracion]' : {
				click : this.verConfiguracionGeneral
			},
			'configuracionGeneralView button[action=btnNuevaConfiguracion]' : {
				click : this.nuevaConfiguracionGeneral
			},
			'nuevaConfiguracionGeneralView button[action=btnCancelarNuevaConfiguracion]' : {
				click : this.btnCancelarNuevaConfiguracion
			},
			'verConfiguracionGeneralView button[action=btnCerrarVerConfiguracion]' : {
				click : this.btnCerrarVerConfiguracion
			},
			'nuevaConfiguracionGeneralView button[action=btnGuardarConfiguracion]' : {
				click : this.guardarNuevaConfiguracionGeneral
			}
		});
	},
	btnCancelarNuevaConfiguracion : function() {
		this.getNuevaConfiguracionGeneralView().close();
	},
	btnCerrarVerConfiguracion : function() {
		this.getVerConfiguracionGeneralView().close();
	},
	seleccionarItem : function() {
		Ext.getCmp('configuracionGeneralView_btnVerConfiguracion').setDisabled(false);
	},
	verConfiguracionGeneral : function() {
		Ext.widget('verConfiguracionGeneralView').show();
		var form = this.getVerConfiguracionGeneralView().down('form').getForm();
		form.loadRecord(this.getConfiguracionGeneralView().getSelectionModel().getSelection()[0]);
	},
	nuevaConfiguracionGeneral : function() {
		Ext.widget('nuevaConfiguracionGeneralView').show();
		var form = this.getNuevaConfiguracionGeneralView().down('form').getForm();
		form.loadRecord(window.configuracion_actual);
	},
	guardarNuevaConfiguracionGeneral : function() {
		var form = this.getNuevaConfiguracionGeneralView().down('form').getForm();

		if (form.isValid()) {

			form.submit({
				url : '/servicio_configuracion/guardar_configuracion',
				waitMsg : 'Guardando nueva configuración...',
				success : function(form, action) {
					window.location = '/admin';
				},
				failure : function(form, action) {
					Ext.Msg.show({
						title : 'Error',
						msg : action.result.msg,
						buttons : Ext.Msg.OK,
						icon : Ext.Msg.ERROR
					});
				}
			});

		} else {
			Ext.Msg.show({
				title : 'Atención',
				msg : 'Verifica los campos del formulario',
				buttons : Ext.Msg.OK,
				icon : Ext.Msg.WARNING
			});
		}

	}
});
